// import {createStore} from 'redux'

// 1. 导入创建全局状态的方法 createStore
// as 起一个别名
import { legacy_createStore as createStore} from 'redux'

// 2. 定义一个 reducer 纯函数
// 该函数中有两个参数
// 参数一：state 是全局状态定义的地方
// 参数二：actions 中有两个属性，第一个是 type 标记我们要做的事情，第二个是 payload 修改的内容
const reducer = (state = {
    count: 100
}, actions)=>{

    const { type, payload } = actions

    // 定义的是修改全局状态的事件
    switch (type) {
        case 'add':
            // 执行让原数据加 1
            return {...state, count: state.count + 1}
        case 'reduce':
            return {...state, count: state.count - 1}
        case 'addNum': 
            return {...state, count: state.count + payload}
        case 'reduceNum':
            return {...state, count: state.count - payload}
        default:
            return state
    }
}


// 3. 生成状态管理器
const store = createStore(reducer)

// 4. 将 store 暴露出去
export default store
